package ru.amse.ilyin.provider;

import java.io.File;

import ru.amse.ilyin.diagram.Diagram;

/**
 * Provides graphical information about structure of 
 * a Java application.
 *
 * @author Alexander Ilyin
 */
public interface DiagramProvider {
	/**
	 * Returns a package diagram by the specified root package.
	 * 
	 * @param rootPackage root package pathname
	 * @return package diagram
	 */
	Diagram getPackageDiagram(File rootPackage);
	
	/**
	 * Returns a class diagram.
	 * 
	 * @return a class diagram
	 */
	Diagram getClassDiagram();
}
